import { PageVO } from '@/common/vo';

export interface ProductStatisticsDTO {
    fundCode: string[]; // 产品代码/名称
    eventStatus: string; // 查询类型
    startTradeDate: string; // 统计开始日期
    endTradeDate: string; // 统计结束日期
    paging?: PageVO;
}

export interface ProductStatisticsVO {
    fdProductCode: string; // 产品代码/名称
    fundType: string; //产品类型
    increased: number; // 当日新增
    investmentManager: string; //投资经理
    overrunSum: number; // 超限汇总
    recover: number; // 当日恢复
    oneTofive: number; //连续超限1-5天
    sexTonine: number; // 连续超限6-9天
    tenTofifteen: number; // 连续超限10-15天
    fifteenUp: number; // 连续超限15天以上
}

export interface InvestmentManagerStatisticDTO {
    investmentManager: string[]; // 投资经理
    eventStatus: string; // 查询类型
    startTradeDate: string; // 统计开始日期
    endTradeDate: string; // 统计结束日期
    paging?: PageVO;
}

export interface InvestmentManagerStatisticVO {
    investmentManager: string; // 投资经理
    manageProductCount: number; // 管理产品数
    oneToFive: number; // 连续超限1-5天
    sexToNine: number; // 连续超限6-9天
    tenTofifteen: number; // 连续超限10-15天
    fifteenUp: number; // 超限15天以上
    overThreeFeedback: number; // 超3天未反馈
    overEight: number; // 调整期百分之80内
    adjDistanceTwoDays: number; // 距调整期2日
    outAdjDays: number; // 未及时调整
    otherAdjDay: number; // 其他调整期内
    sumCount: number; // 合计
}

// 超限明细、偏严指标
export interface TransfiniteIndicatorDetailDTO {
    eventStatusList: string[]; // 事件状态
    triggerType: string[]; // 当前指标状态
    adjustProgerss: string[]; // 超限事件分布
    strict?: string; // 是否偏严
    fundCode: string[]; //产品代码
    investmentManager: string[]; //投资经理
    approveDate?: string; //发起日期
    tradeDate: string; // 估值日期
    entryCode?: string; //条目编号
    entryName?: string; // 系统配置条目
    prohibitionDateUnit: string; // 单位
    prohibitionDate: string; // 连续超限天数 TODO
    feedbackStatus: string; //反馈情况
    sponsor?: string; // 主办人
    articeInfo?: string; // 事件来源  仅人工录入有
    fundType?: string; //产品类型 仅超标明细有
    name?: string; // 图表横坐标name  用于跳转使用
    paging?: PageVO;

    // adjustProgerss: string[]; // 超限调整进度
    // approveDate: string; //发起日期
    // entryCode: string; //条目编号
    // entryCodes: string[]; //条目编号
    // entryName: string; // 系统配置条目
    // eventStatusList: string[]; // 事件状态
    // feedBackType: string; // 反馈类型 1 反馈事件 2跟踪事件
    // feedbackStatus: string; //反馈情况
    // fundCode: string[]; //产品代码
    // fundType: string; //产品类型
    // investmentManager: string[]; //投资经理
    // overrunEventId: number; // 事件ID
    // overrunEventIdList: string; // 事件ID集合
    // sponsor: string; // 主办人
    // strict: string; // 是否偏严
    // tradeDate: string; // 估值日期
    // triggerType: string[]; // 当前指标状态
    // userCode: string; // 用户编码
}

export interface TransfiniteIndicatorDetailVO {
    adjustProgerss: string; // 超限调整进度
    approveDate: number; // 发起审批日期
    approveType: string; // 发起类别0-人工录入（指系统不支持的指标通过人工录入发起事件）1-人工发起（系统支持的指标，未设置自动发起，须人工发起）2-系统自动
    articeInfo: string; // 条款来源信息
    clauseCode: string; // 条款原文信息
    closeDate: number; // 关闭日期
    closeReason: string; // 关闭原因
    closeType: string; // 关闭类型0：人工关闭1：自动关闭
    compareType: string; // 条目比较方向
    ctDate: number; // 创建日期
    entryKey2: string; // 条目静态分支key2，是不包括变化序号的静态key源于C_ENTRY_KEY去掉了变动序号
    entryName: string; // 系统配置条目（条目名称）
    eventStatus: string; // 事件状态0-未发起1-调整中2-已关闭
    feedbackDate: string; // 最新反馈日期
    feedbackStatus: string; // 反馈情况0-待反馈1-已反馈
    fundProductCode: string[]; // 产品代码
    insideDays: number; // 超限调整天数
    investmentManager: string; // 投资经理名称
    leadCode: string; // 主办人
    overrunEventId: number; // 超限指标主键/事件id
    overrunInfo: string; // 超限信息1.单独控制：展示单独控制信息举例：证券个股：600000SS（浦发银行）发行人：某某公司A；原始权益人：某某公司B即单独控制的指标+具体值。2.非单独控制的条目指标，注明固定提示语句：“非单独控制，请查看超限详细”
    prohibitionDate: number; // 连续超限天数
    result: number; // 计算结果值
    resultId: number; // 静态计算结果ID
    strict: string; // 是否偏严
    thresholdValue: string; // 条目触发值(控制阈值)
    tradeDate: number; // 估值日期
    triggerType: string; // 条目触发类型
}
